package org.summer.lawyer.domain;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;

import java.util.Date;

/**
 * 支付通道对象 pay_channel
 *
 * @author summer
 * @date 2024-06-22
 */
@Data
@TableName("pay_channel")
public class PayChannel  {


    /**
     * 主键ID
     */
    @TableId(value = "id", type = IdType.ASSIGN_ID)
    private Long id;



    /**
     * 通道编码
     */
    @TableField(value = "channel_code")
    private String channelCode;



    /**
     * 应用ID
     */
    @TableField(value = "app_id")
    private Long appId;



    /**
     * 状态(0停用，1启用）
     */
    @TableField(value = "status")
    private String status;



    /**
     * 费率，百分比
     */
    @TableField(value = "feeRate")
    private Integer feeRate;



    /**
     * 单次支付限额
     */
    @TableField(value = "pay_limit")
    private Long payLimit;



    /**
     * 商户号
     */
    @TableField(value = "mch_no")
    private String mchNo;



    /**
     * 商户名称
     */
    @TableField(value = "mch_name")
    private String mchName;



    /**
     * 应用key
     */
    @TableField(value = "wx_app_id")
    private String wxAppId;



    /**
     * 商户密钥
     */
    @TableField(value = "mch_key")
    private String mchKey;



    /**
     * api版本(v2,v3)
     */
    @TableField(value = "api_version")
    private String apiVersion;



    /**
     * APIv2密钥
     */
    @TableField(value = "api_key_two")
    private String apiKeyTwo;



    /**
     * APIv3密钥
     */
    @TableField(value = "api_key_three")
    private String apiKeyThree;



    /**
     * p12证书,退款、转账时，必须要配置p12证书才可以执行
     */
    @TableField(value = "key_content")
    private String keyContent;



    /**
     * p12证书文件位置
     */
    @TableField(value = "key_file")
    private String keyFile;



    /**
     * apiclient_key.pem 证书文件的对应字符串
     */
    @TableField(value = "private_key_content")
    private String privateKeyContent;



    /**
     * apiclient_cert.pem
     */
    @TableField(value = "private_cert_content")
    private String privateCertContent;



    /**
     * 备注
     */
    @TableField(value = "remark")
    private String remark;



    /**
     * 删除标志（0代表存在 1代表删除）
     */
    @TableLogic
    @TableField(value = "del_flag")
    private String delFlag;



    /**
     * 创建者
     */
    @TableField(value = "create_by", fill = FieldFill.INSERT)
    private Long createBy;



    /**
     * 创建时间
     */
    @TableField(value = "create_time", fill = FieldFill.INSERT)
    private Date createTime;



    /**
     * 更新者
     */
    @TableField(value = "update_by", fill = FieldFill.INSERT_UPDATE)
    private Long updateBy;



    /**
     * 更新时间
     */
    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;



}
